{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.metrics import accuracy_score, classification_report, roc_auc_score, confusion_matrix\n",
    "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n",
    "from sklearn.compose import ColumnTransformer\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Simulate Data (replace with your actual data loading)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(42)  # for reproducibility"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_samples = 1000\n",
    "age = np.random.randint(18, 65, n_samples)\n",
    "gender = np.random.choice(['Male', 'Female'], n_samples)\n",
    "income = np.random.randint(20000, 150000, n_samples)\n",
    "website_visits = np.random.randint(0, 20, n_samples)\n",
    "product_interest = np.random.choice(['Electronics', 'Clothing', 'Home', 'Books'], n_samples)\n",
    "clicked = np.random.choice([0, 1], n_samples, p=[0.7, 0.3]) # 30% click rate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.DataFrame({\n",
    "    'age': age,\n",
    "    'gender': gender,\n",
    "    'income': income,\n",
    "    'website_visits': website_visits,\n",
    "    'product_interest': product_interest,\n",
    "    'clicked': clicked\n",
    "})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Display the first few rows of the dataframe"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "First few rows of the data:\n",
      "   age  gender  income  website_visits product_interest  clicked\n",
      "0   56    Male   49241               1            Books        1\n",
      "1   46  Female  116214              18         Clothing        0\n",
      "2   32  Female   64569              18      Electronics        0\n",
      "3   60  Female   31745               4         Clothing        0\n",
      "4   25    Male   46029              18             Home        0\n"
     ]
    }
   ],
   "source": [
    "print(\"First few rows of the data:\")\n",
    "print(data.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Data Preprocessing\n",
    "# Separate features and target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = data.drop('clicked', axis=1)\n",
    "y = data['clicked']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Identify numerical and categorical features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "numerical_features = ['age', 'income', 'website_visits']\n",
    "categorical_features = ['gender', 'product_interest']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Create a ColumnTransformer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "transformer = ColumnTransformer(transformers=[\n",
    "    ('num', StandardScaler(), numerical_features),\n",
    "    ('cat', OneHotEncoder(handle_unknown='ignore'), categorical_features)\n",
    "], remainder='passthrough')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Apply the transformations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_transformed = transformer.fit_transform(X)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Split data into training and testing sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(X_transformed, y, test_size=0.2, random_state=42)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Train Logistic Regression Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LogisticRegression(random_state=42, solver=&#x27;liblinear&#x27;)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LogisticRegression</label><div class=\"sk-toggleable__content\"><pre>LogisticRegression(random_state=42, solver=&#x27;liblinear&#x27;)</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "LogisticRegression(random_state=42, solver='liblinear')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = LogisticRegression(solver='liblinear', random_state=42) # liblinear handles l1 regularization\n",
    "model.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Make Predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred = model.predict(X_test)\n",
    "y_prob = model.predict_proba(X_test)[:, 1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Evaluate Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Model Evaluation:\n",
      "Accuracy: 0.705\n",
      "Classification Report:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.70      1.00      0.83       141\n",
      "           1       0.00      0.00      0.00        59\n",
      "\n",
      "    accuracy                           0.70       200\n",
      "   macro avg       0.35      0.50      0.41       200\n",
      "weighted avg       0.50      0.70      0.58       200\n",
      "\n",
      "AUC-ROC: 0.44560644308210123\n",
      "Confusion Matrix:\n",
      "[[141   0]\n",
      " [ 59   0]]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\sempe\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python311\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n",
      "C:\\Users\\sempe\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python311\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n",
      "C:\\Users\\sempe\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python311\\site-packages\\sklearn\\metrics\\_classification.py:1469: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n",
      "  _warn_prf(average, modifier, msg_start, len(result))\n"
     ]
    }
   ],
   "source": [
    "accuracy = accuracy_score(y_test, y_pred)\n",
    "report = classification_report(y_test, y_pred)\n",
    "auc_roc = roc_auc_score(y_test, y_prob)\n",
    "confusion = confusion_matrix(y_test, y_pred)\n",
    "\n",
    "print(\"\\nModel Evaluation:\")\n",
    "print(f\"Accuracy: {accuracy}\")\n",
    "print(f\"Classification Report:\\n{report}\")\n",
    "print(f\"AUC-ROC: {auc_roc}\")\n",
    "print(f\"Confusion Matrix:\\n{confusion}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Feature Importance (for numerical features, and encoded categorical)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Feature Importance:\n",
      "                        Feature  Coefficient  Absolute Coefficient\n",
      "4                   gender_Male    -0.357316              0.357316\n",
      "7  product_interest_Electronics    -0.304031              0.304031\n",
      "6     product_interest_Clothing    -0.280209              0.280209\n",
      "3                 gender_Female    -0.186885              0.186885\n",
      "2                website_visits    -0.143297              0.143297\n",
      "8         product_interest_Home     0.134812              0.134812\n",
      "5        product_interest_Books    -0.094773              0.094773\n",
      "0                           age     0.061533              0.061533\n",
      "1                        income    -0.034720              0.034720\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/wAAAIjCAYAAAC+vhC1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB7JElEQVR4nOzde3wOZ/7/8fctIYkcHYJoQxwScSZJHYsULRYtStBs43xopXVW1iKhSovSXWUtJahSRastqoooqTqkkioRhzpVo2pVIkJIcv/+8DU/NwlJhJvb6/l4zOPhnrlm5nPdbt19z3XNjMlsNpsFAAAAAABsSiFrFwAAAAAAAAoegR8AAAAAABtE4AcAAAAAwAYR+AEAAAAAsEEEfgAAAAAAbBCBHwAAAAAAG0TgBwAAAADABhH4AQAAAACwQQR+AAAAAABsEIEfAAAAD01GRoZGjRolb29vFSpUSB06dJAkpaamqm/fvipTpoxMJpOGDBmiEydOyGQyKSoqKk/niIqKkslk0okTJwq8fgB4nBD4AQB4gphMplwt0dHRD7yWuXPnqkuXLipXrpxMJpN69uyZY9uLFy+qf//+8vT0lLOzs5577jn99NNPuTpPcHBwjv08dOhQAfXG0pw5c/IcUh+2zz//XG3atFHJkiVVpEgRlS1bViEhIdqyZcsDPe/ChQs1bdo0de7cWYsXL9bQoUMlSe+8846ioqL02muvaenSpXr11VcfaB33Ky0tTREREQ/l3woA5JfJbDabrV0EAAB4OD7++GOLz0uWLNGmTZu0dOlSi/XPP/+8Spcu/UBr8fHx0aVLl1SvXj199913Cg0NzTYkZ2VlqUmTJoqPj9fIkSNVsmRJzZkzR6dPn1ZsbKx8fX3vep7g4GAdO3ZMU6ZMuWPbiy++KDc3t4LqkqFGjRoqWbLkIxkGzWazevfuraioKNWtW1edO3dWmTJllJSUpM8//1yxsbGKiYlRo0aNHsj5u3Xrph07dui3336zWN+gQQPZ29trx44dFrWmp6ercOHCsrOzy/U5MjMzdf36dTk4OMhkMhVY7bc6f/68PD09NWHCBEVERDyQcwDA/bK3dgEAAODh+fvf/27x+ccff9SmTZvuWP8wbNu2zRjdd3FxybHdqlWr9MMPP+izzz5T586dJUkhISHy8/PThAkT9Mknn9zzXO7u7lbpY0Eym826evWqnJyc7us4M2bMUFRUlIYMGaL333/fIhCPHTtWS5culb39g/u/iOfOnZOHh0e266tVq2axzmQyydHRMc/nsLOzy9MFAgCwVUzpBwAAFi5fvqzhw4fL29tbDg4OqlKliqZPn67bJwWaTCaFh4dr2bJlqlKlihwdHRUYGKjvv/8+V+cpX758rkZfV61apdKlS6tTp07GOk9PT4WEhGjt2rVKT0/PWwezkZ6ergkTJqhy5cpycHCQt7e3Ro0adcexFy1apObNm6tUqVJycHBQtWrVNHfuXIs2Pj4+OnDggLZt22bcOhAcHCxJioiIyLbP2d1z7uPjo3bt2mnjxo0KCgqSk5OT5s2bJ+nGLQ5Dhgwx/o4qV66sd999V1lZWXft55UrVzRlyhT5+/tr+vTp2dby6quvql69esbnX3/9VV26dFHx4sVVtGhRNWjQQOvWrcvzd3jzfvytW7fqwIEDFrePmEwmHT9+XOvWrTPWnzhxIsd7+A8dOqSQkBB5enrKyclJVapU0dixY+/6fUrShg0b1KRJEzk7O8vV1VVt27bVgQMHLNr07NlTLi4uOnPmjDp06CAXFxd5enpqxIgRyszMNPri6ekpSYqMjDRqvjnSf/bsWfXq1UtPP/20HBwc5OXlpZdeeolnCgB46BjhBwAABrPZrBdffFFbt25Vnz59VKdOHW3cuFEjR47UmTNnNHPmTIv227Zt06effqo333xTDg4OmjNnjlq3bq3du3erRo0aBVLTvn37FBAQoEKFLMcp6tWrp//+9786fPiwataseddjZGZm6vz58xbrHB0d5eLioqysLL344ovasWOH+vfvr6pVq2r//v2aOXOmDh8+rC+++MLYZ+7cuapevbpefPFF2dvb66uvvtLrr7+urKwsDRo0SJI0a9YsvfHGG3JxcTFCaH5vj0hMTFT37t01YMAA9evXT1WqVFFaWpqaNWumM2fOaMCAASpXrpx++OEHjRkzRklJSZo1a1aOx9uxY4cuXLigIUOG5GoE/I8//lCjRo2UlpamN998UyVKlNDixYv14osvatWqVerYsaMk5eo79PT01NKlSzV58mSlpqYat1hUrVpVS5cu1dChQ/X0009r+PDhkm5c1Pnzzz/vqOnnn39WkyZNVLhwYfXv318+Pj46duyYvvrqK02ePDnHvixdulQ9evRQq1at9O677yot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",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "if hasattr(model, 'coef_'): # check if model has coef_\n",
    "    feature_names = numerical_features + list(transformer.named_transformers_['cat'].get_feature_names_out(categorical_features))\n",
    "    coefficients = model.coef_[0]\n",
    "\n",
    "    feature_importance = pd.DataFrame({'Feature': feature_names, 'Coefficient': coefficients})\n",
    "    feature_importance['Absolute Coefficient'] = feature_importance['Coefficient'].abs()\n",
    "    feature_importance = feature_importance.sort_values(by='Absolute Coefficient', ascending=False)\n",
    "    print(\"\\nFeature Importance:\")\n",
    "    print(feature_importance)\n",
    "\n",
    "    # Plot Feature Importance\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    sns.barplot(x='Coefficient', y='Feature', data=feature_importance.head(10))\n",
    "    plt.title('Top 10 Feature Coefficients')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Confusion Matrix Visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAokAAAIjCAYAAABvUIGpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+QUlEQVR4nO3deXRT1f7+8ScpNK2FthTopAxlkEkEBMWKCkiVSQRBEeVqQRT1ggpFVPzKqFLlyiAg1BEQwVkqooJYlMq1lFkREZkcrtiWuVAglDa/P1zkZ9gMLSQk5bxfrrOW3Tk555PcBffjs/fZtblcLpcAAACAf7D7uwAAAAAEHppEAAAAGGgSAQAAYKBJBAAAgIEmEQAAAAaaRAAAABhoEgEAAGCgSQQAAICBJhEAAAAGmkQAp7V582bddNNNioiIkM1mU3p6ulev/+uvv8pms2nmzJlevW5Z1qZNG7Vp08bfZQCwOJpEoAzYunWrHnjgAdWqVUshISEKDw9Xq1at9NJLL+nw4cM+vXdycrLWr1+v5557TrNnz1aLFi18er/zqU+fPrLZbAoPDz/p97h582bZbDbZbDa9+OKLpb7+jh07NGrUKK1bt84L1QLA+VXO3wUAOL3PPvtMt99+uxwOh+655x5ddtllOnr0qJYtW6ahQ4dqw4YNevXVV31y78OHDysrK0v/93//p4EDB/rkHjVq1NDhw4dVvnx5n1z/TMqVK6dDhw7p008/Vc+ePT1emzNnjkJCQnTkyJGzuvaOHTs0evRo1axZU02bNi3x+7788suzuh8AeBNNIhDAtm/frl69eqlGjRpasmSJ4uLi3K8NGDBAW7Zs0Weffeaz++/cuVOSFBkZ6bN72Gw2hYSE+Oz6Z+JwONSqVSu98847RpM4d+5cde7cWR999NF5qeXQoUO66KKLFBwcfF7uBwCnw3QzEMDGjRungwcP6o033vBoEI+rU6eOHn30UffPx44d0zPPPKPatWvL4XCoZs2aeuqpp+R0Oj3eV7NmTd18881atmyZrrrqKoWEhKhWrVp666233OeMGjVKNWrUkCQNHTpUNptNNWvWlPT3NO3xf/+nUaNGyWazeYwtXrxY1157rSIjI1WhQgXVq1dPTz31lPv1U61JXLJkia677jqFhYUpMjJSXbt21caNG096vy1btqhPnz6KjIxURESE+vbtq0OHDp36iz3BXXfdpS+++EL79u1zj61cuVKbN2/WXXfdZZy/Z88ePfbYY2rcuLEqVKig8PBwdezYUd9//737nG+++UZXXnmlJKlv377uaevjn7NNmza67LLLtHr1al1//fW66KKL3N/LiWsSk5OTFRISYnz+9u3bq1KlStqxY0eJPysAlBRNIhDAPv30U9WqVUvXXHNNic6/7777NGLECF1xxRWaOHGiWrdurdTUVPXq1cs4d8uWLbrtttt04403avz48apUqZL69OmjDRs2SJK6d++uiRMnSpLuvPNOzZ49W5MmTSpV/Rs2bNDNN98sp9OpMWPGaPz48brlllv03//+97Tv++qrr9S+fXvl5eVp1KhRSklJ0XfffadWrVrp119/Nc7v2bOnDhw4oNTUVPXs2VMzZ87U6NGjS1xn9+7dZbPZ9PHHH7vH5s6dq/r16+uKK64wzt+2bZvS09N18803a8KECRo6dKjWr1+v1q1buxu2Bg0aaMyYMZKk/v37a/bs2Zo9e7auv/5693V2796tjh07qmnTppo0aZLatm170vpeeuklVa1aVcnJySoqKpIkvfLKK/ryyy81ZcoUxcfHl/izAkCJuQAEpP3797skubp27Vqi89etW+eS5Lrvvvs8xh977DGXJNeSJUvcYzVq1HBJcmVmZrrH8vLyXA6HwzVkyBD32Pbt212SXP/5z388rpmcnOyqUaOGUcPIkSNd//xrZeLEiS5Jrp07d56y7uP3mDFjhnusadOmrujoaNfu3bvdY99//73Lbre77rnnHuN+9957r8c1b731VlflypVPec9/fo6wsDCXy+Vy3Xbbba527dq5XC6Xq6ioyBUbG+saPXr0Sb+DI0eOuIqKiozP4XA4XGPGjHGPrVy50vhsx7Vu3dolyZWWlnbS11q3bu0xtmjRIpck17PPPuvatm2bq0KFCq5u3bqd8TMCwNkiSQQCVH5+viSpYsWKJTr/888/lySlpKR4jA8ZMkSSjLWLDRs21HXXXef+uWrVqqpXr562bdt21jWf6Phaxk8++UTFxcUles9ff/2ldevWqU+fPoqKinKPX3755brxxhvdn/OfHnzwQY+fr7vuOu3evdv9HZbEXXfdpW+++UY5OTlasmSJcnJyTjrVLP29jtFu//uvz6KiIu3evds9lb5mzZoS39PhcKhv374lOvemm27SAw88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r7zyilq3bq3p06erdu3aGj9+vCSpXr16Wr9+vV544QUvfmsAEPhoEgGclQULFqhChQoqLCxUcXGx7rrrLo0aNUoDBgxQ48aNPdYhfv/999qyZYsqVqzocY0jR45o69at2r9/v/766y+1bNnS/Vq5cuXUokULY8r5uHXr1ikoKEitW7cucc1btmzRoUOHdOONN3qMHz16VM2aNZMkbdy40aMOSe6GEgCshCYRwFlp27atpk+fruDgYMXHx6tcuf//10lYWJjHuQcPHlTz5s01Z84c4zpVq1Y9q/uHhoaW+j0HDx6UJH322We6+OKLPV5zOBxnVQcAXKhoEgGclbCwMNWpU6dE515xxRV67733FB0drfDw8JOeExcXp+zsbF1//fWSpGPHjmn16tW64oorTnp+48aNVVxcrKVLl7qnm//peJJZVFTkHmvYsKEcDod+//33UyaQDRo00Pz58z3Gli9ffuYPCQAXGB5cAeBzvXv3VpUqVdS1a1d9++232r59u7755hs98sgj+t///idJevTRR/X8888rPT1dP//8s/7973+fdo/DmjVrKjk5Wffee6/S09Pd13z//fclSTVq1JDNZtOCBQu0c+dOHTx4UBUrVtRjjz2mwYMHa9asWdq6davWrFmjKVOmaNasWZKkBx98UJs3b9bQoUO1adMmzZ07VzNnzvT1VwQAAYcmEYDPXXTRRcrMzFT16tXVvXt3NWjQQP369dORI0fcyeKQIUN09913Kzk5WYmJiapYsaJuvfXW0153+vTpuu222/Tvf/9b9evX1/3336+CggJJ0sUXX6zRo0frySefVExMjAYOHChJeuaZZzR8+HClpqaqQYMG6tChgz777DMlJCRIkqpXr66PPvpI6enpatKkidLS0jR27FgffjsAEJhsrlOtCgcAAIBlkSQCAADAQJMIAAAAA00iAAAADDSJAAAAMNAkAgAAwECTCAAAAANNIgAAAAw0iQAAADDQJAIAAMBAkwgAAAADTSIAAAAM/w/MLFHdU0iu3gAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8, 6))\n",
    "sns.heatmap(confusion, annot=True, fmt='d', cmap='Blues')\n",
    "plt.xlabel('Predicted')\n",
    "plt.ylabel('Actual')\n",
    "plt.title('Confusion Matrix')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ROC Curve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Zi09evRAUFAQfv75Z2zZsuWJ1zUaDd58803982bNmuHixYu4c+eOftmpU6dw5MiRCr9/AHBwcEBgYCA2bNiAdevWQaVSPTG6PG7cOMTExGD37t1PbH///n0UFxcbdEwiorLwDmBERKV4eAew48eP66cZPBQREYGxY8fi+++/x0svvQTgwVf148ePR2RkJPr27YvQ0FBYW1vj8OHDWLNmDVq3bo19+/aVuAOYTqfDlClT8Msvv6Bz5876O4ClpKRgy5YtOHbsGP7880/06NGjzDrv3LmDIUOG4NSpUwgODsagQYNQr149/P3331i3bh2Sk5NRWFgI4EH3A19fX3To0AHTpk1DWloawsPD4erqiqysLH3bsaSkJDRp0gSLFy8uEYYftXbtWjz77LOwtbVF//799W3CHsrLy0OfPn1w+vRpTJkyBV26dEFubi7OnDmDiIgIJCUllZiWQERUadLes4GIqGYq6w5gQgih1WpFs2bNRLNmzURxcXGJ5StXrhS9evUSdnZ2wsrKSrRt21YsXLhQ5OTklHmsiIgIMWTIEOHk5CQsLCyEu7u7GD9+vIiOjq5QrXl5eeLLL78UXbt2FTY2NkKlUokWLVqImTNnisuXL5dYd82aNaJp06ZCpVKJjh07it27d4vJkyeLxo0b69dJTEwUAMTixYvLPGZWVpawtrYWAMSaNWtKXSc7O1vMnTtXNG/eXKhUKuHs7Cx69uwpvvzyS6HRaCr03oiInoYjs0RERERktjhnloiIiIjMFsMsEREREZkthlkiIiIiMlsMs0RERERkthhmiYiIiMhsMcwSERERkdmykLqA6qbT6XD79m3Y2tpCJpNJXQ4RERERPUYIgezsbDRs2BByefljr3UuzN6+fRteXl5Sl0FERERET3Hjxg14enqWu06dC7O2trYAHvzh2NnZSVwNERERET0uKysLXl5e+txWnjoXZh9OLbCzs2OYJSIiIqrBKjIllBeAEREREZHZYpglIiIiIrPFMEtEREREZqvOzZmtCCEEiouLodVqpS6FJKBQKGBhYcHWbURERGaAYfYxGo0GycnJyMvLk7oUkpBarYa7uztUKpXUpRAREVE5GGYfodPpkJiYCIVCgYYNG0KlUnF0ro4RQkCj0eDOnTtITExEixYtntqsmYiIiKTDMPsIjUYDnU4HLy8vqNVqqcshiVhbW0Op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182bN2Fvb2/o7oiIyEicnJwghEDHjh0xdOjQKo/GloWtuIioJqnwp1GnTp0gk8kgk8kwaNAgWFj836ZarRaJiYkICgoySZFERFS6goIC/Z27WrZsienTpxuldywRkbmocJh92MUgPj4egYGBsLGx0b+mUqng7e2N0NBQoxdIRERP0ul0iI6ORlxcHF544QX9N2MMskRU11Q4zC5YsAAA4O3tjfHjxxt0D28iIjKerKwsbNq0CdeuXQMAnD9/Hj169DB4P4+22noatuIioprK4ElPkydPNkUdRERUAZcvX8bmzZuRl5cHlUqF4OBg+Pr6GrwfttoiotqiQmHWyckJly5dgrOzMxwdHcu9cjUjI8NoxRER0QNarRZ//PGH/pbibm5uCAsLQ/369Su1v7JabT0NW3ERUU1ToTD79ddfw9bWVv//bMNCRFS9jh49qg+yXbt2xZAhQ0pciFsVj7baehq24iKimqZCn4SPTi2YMmWKqWohIqIydO3aFQkJCfD390ebNm2Mum+22iIic2bwHcBOnDiBM2fO6J9v3boVISEhePfdd6HRaIxaHBFRXaXVahEbG6u/hbhSqcSUKVOMHmSJiMydwWH2xRdfxKVLlwAAV69exfjx46FWq7Fx40a8/fbbRi+QiKiuuX//PlauXInt27fj0KFD+uX8ep+I6EkGh9lLly6hY8eOAICNGzeiX79++PXXX7Fq1SpERkYauz4iojrlwoUL+OGHH3Dr1i1YWVnB1dW10vsSQiBPU1zGg622iKh2qNTtbB9+7bV3716MGDECAODl5YX09HTjVkdEVEcUFxdjz549OHbsGADA09MToaGhcHBwqNT+2HqLiOoKg8Osn58fPv74YwQEBODAgQP4/vvvAQCJiYlVGkEgIqqrMjIyEBERgeTkZABAjx49MGjQICgUlW+BVdHWW2y1RUTmzuAwu3TpUjzzzDPYsmUL3nvvPTRv3hwAEBERgZ49exq9QCKi2k6j0SAtLQ3W1tYICQmBj4+PUfdfXustttoiInNncJht3759iW4GDy1evLhKowhERHWJEEIfIh/eAMHd3R329vZGPxZbbxFRbVbpT7e4uDhcuHABANCmTRt07tzZaEUREdVmd+/exaZNmzBs2DB4eHgAAFq1aiVxVURE5sngMJuWlobx48fjwIED+gsT7t+/jwEDBmDdunVo0KCB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",
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.metrics import roc_curve\n",
    "fpr, tpr, thresholds = roc_curve(y_test, y_prob)\n",
    "plt.figure(figsize=(8, 6))\n",
    "plt.plot(fpr, tpr, label=f'AUC = {auc_roc:.2f}')\n",
    "plt.plot([0, 1], [0, 1], linestyle='--', color='gray')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC Curve')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
